home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 42
/
Amiga Format AFCD42 (Issue 126, Aug 1999).iso
/
-serious-
/
programming
/
other
/
wild
/
developer
/
docs
/
wild.doc
Wrap
Text File
|
1999-05-25
|
7KB
|
170 lines
TABLE OF CONTENTS
wild.library/AddWildApp
wild.library/AddWildThread
wild.library/AllocVecPooled
wild.library/BuildWildObject
wild.library/DisplayFrame
wild.library/FindWildApp
wild.library/FreeVecPooled
wild.library/FreeWildObject
wild.library/GetWildAppTags
wild.library/LoadExtension
wild.library/LoadFile
wild.library/LoadModule
wild.library/LoadTable
wild.library/LoadWildObject
wild.library/InitFrame
wild.library/KillExtension
wild.library/KillModule
wild.library/KillTable
wild.library/RealyzeFrame
wild.library/RemWildApp
wild.library/RemWildThread
wild.library/SetWildAppTags
NAME
AddWildApp
SYNOPSIS
wildapp = AddWildApp(WildPort,TagList);
D0 A0 A1
struct WildApp *AddWildApp(struct MSGPort *,struct TagItem *);
FUNCTION
Allocates a WildApp struct, and initializes it with the provided
tags. Not specified tags are set to wild's default. SetWildAppTags
is called by this function.
INPUTS
WildPort - A STD exec MSGPort, used to comunicate with wild.
TagList - taglist to initialize the app.
RESULT
WildApp - a WildApp struct, used for everything in Wild.
SEE ALSO
RemWildApp,SetWildAppTags
NAME
AddWildThread
SYNOPSIS
wildthread= AddWildThread(WildApp,TagList)
D0 A0 A1
struct WildThread *AddWildThread(struct WildApp *,struct TagItem *);
FUNCTION
Allocated a WildThread struct and starts the new thread.
Note: Your thread doesn't need to preserve any regs, or to
manage any Process Flag (those boring PRF_FreeCli,FreeOutput,Free??)
because Wild manages them for you. The WildThread structure is
given to the Thread as input in the A0 register: read there your
Args (specified with WITH_Args tag.)
INPUTS
WildApp - A WildApp structure.
TagList - A TagList to init the Thread.
RESULT
WildThread - A WildThread structure.
SEE ALSO
RemWildThread
NAME
BuildWildObject
SYNOPSIS
object= BuildWildObject(tags)
D0 A0
ULONG *BuildWildObject(struct TagItem *tags);
FUNCTION
That's a powerful function to create anything in the Scene.
It's quite low-level, is mainly used by the Loader modules when
loading a scene-file.
You can use this func to create new objects or to modify existing.
See tags description.
WIBU_ObjectType :(REQUIRED) The type of object to create/modify.
One of those OBJECT_???.
WIBU_BuildObject:If you want to create a NEW object, set this to true;
You MUST also give the WIBU_WildApp tag, when creating new things,
because wild needs to have memory from your pool.
WIBU_WildApp :Pass your WildApp here, NEEDED when creating
NEW objects.
WIBU_ModifyObject: If you want to modify an existing object, pass it
here. Obviously, you CAN'T specify that with WIBU_BuildObject !!!
Then, you can specify ATTRS and FRIENDS, but not CHILDS. Those are used
to code Loader modules.
INPUTS
tags = A taglist defining the properties of the object to build or modify.
RESULT
object = The modified or builded object.
SEE ALSO
FreeWildObject(),LoadWildObject(),objects.h
NAME
LoadWildObject
SYNOPSIS
object= LoadWildObject(wildapp,tags)
D0 A0 A1
ULONG *BuildWildObject(struct WildApp *wapp,struct TagItem *tags);
FUNCTION
Loads an object from a filehandle, or using a readhook.
Note that the specified file (or filehandle, or readhook)
must contain the object you specified, not anything else.
Usually, you should load a Level, or a Scene, but you can
also load Textures, or Aliens, or even Faces (but these are
untested).
You can specify those tags:
WILO_ObjectType :(REQUIDED) The type of object (OBJECT_???) to load.
WILO_FileName : The filename to load. If you specify that, the file
will be loaded using dos.library. (in the future, also XPK support,
but not now).
WILO_FileHandle : Alternative, you can specify a filehandle of an already
open file. The file will be readed from the current position, no Seek(0)
will be performed. This allows you to read files step by step.
WILO_ReadHook : Another alternative, you can specify a hook to be called
to read from anywhere: you can fake and read from mem, or using trackdisk,
or anything else. Hook convention: A0:Hook A1:Buffer to fill A2:Len to read.
Your hook should contain something like a file handle in the h_Data.
WILO_LoadedAttrsFirst : Says to use first the attrs found in the file, and
then, use yours attrs to fill the ones not present in the file. If you
specify FALSE this, wild will first use your attrs and then fill the
more needed with the ones loaded from the file.
Then, add more ATTRS and FRIENDS, used as you specified.
Note that those will affect only the object you load, but not any other
child: if you load a scene, you cannot modify the world, the arenas, the
aliens loeded with it. You can only modify the scene.
Note that the object you have is made by BuildWildObject, so you
can free it with FreeWildObject(); but remember: FreeWildObject won't
free the object's childs.
INPUTS
wildapp = your WildApp.
tags = taglist defining the file and the attrs of the object to load.
RESULT
object = a wildobject, or NULL if no object can be loaded.
SEE ALSO
BuildWildObject(),FreeWildObject(),objects.h